Texture classification of digital images in aerial inspection

ABSTRACT

Unmanned aerial inspection systems and associated methods. In one embodiment, an aerial platform (e.g., an Unmanned Aerial Vehicle (UAV)) navigates to a location of a geographic region, and captures a digital image of the geographic region with an imaging device. The aerial platform segments the digital image into superpixels, selects a region of interest from the digital image to define one or more patches associated with the superpixels, assigns terrain texture categories to the patches, and assigns the terrain texture categories to the superpixels based on the terrain texture categories of the patches to generate a texture classified representation of the digital image. The aerial platform determines whether a site contamination is present at the geographic region based on the texture classified representation of the digital image, and reports an alert upon identifying that the site contamination is present.

FIELD

This disclosure relates to the field of image analysis, and moreparticularly, to image analysis of aerial images.

BACKGROUND

Image analysis is the extraction of meaningful information from images,which leads to an automated classification and the perception of theinformation. Image analysis may be used for inspection of geographicregions to identify features on the ground from aerial captures. Theinspection of a remote geographic region is often carried out byunmanned missions, utilizing remotely-piloted aircraft systems.Traditional inspection of geographic regions, such as for vegetationencroachment, was done with remote sensing, such as using NormalizedDifference Vegetation Index (NDVI) to detect green vegetation based onimage captures using red and Near-Infrared (NIR) bands. More accurateidentification of the material of the scanned region may need thecapture of its spectral signature, requiring hyperspectral ormultispectral imaging sensors onboard the remote sensing platform.However, these and/or other inspection techniques may beprocessing-intensive and may require multiple and complex imagingdevices.

SUMMARY

Embodiments described herein provide aerial inspection of geographicregions to analyze the textures of the geographic regions. Using modelslearned from the visual information of a catalog of textures, theanalysis provides the classification of textures in the geographicregions, such as for the detection and alert of vegetation encroachment,soil contamination, erosion, or other types of contamination. In theembodiments described herein, an aerial platform is used to capture oneor more digital images of a geographic region. Image analysis is thenperformed on the digital image to classify the pixels of the digitalimage. The image analysis includes image segmentation, where the digitalimage is partitioned into multiple segments or superpixels. The imageanalysis further includes patch classification, where patches of thedigital image are assigned a terrain texture category, and then thesuperpixels are assigned a terrain texture category based on the terraintexture category of the patch(es) in the superpixels. Based on theclassification of the superpixels, the aerial platform is able to detectcontamination at the geographic region, such as vegetation encroachment,soil contamination, erosion, etc. The image analysis technique set forthherein allows for pixel-to-pixel classification of the digital imagewith limited training data. Also, the image analysis technique is lessprocessing-intensive, which means that processing may be performedonboard an aircraft. Further, the image analysis technique does notrequire multispectral imaging, which lowers the operation cost.

One embodiment comprises an unmanned aerial inspection system thatincludes an aerial platform, such as a rotary-wing Unmanned AerialVehicle (UAV), a fixed-wing UAV, etc. The aerial platform comprises animaging device, and one or more processors and memory that navigate theaerial platform to a location of a geographic region, and capture adigital image of the geographic region with the imaging device while theaerial platform is airborne. The processor(s) and memory segment thedigital image into superpixels, select a region of interest from thedigital image to define one or more patches associated with thesuperpixels, assign terrain texture categories to the patches, andassign the terrain texture categories to the superpixels based on theterrain texture categories of the patches to generate a textureclassified representation of the digital image. The processor(s) andmemory determine whether a site contamination is present at thegeographic region based on the texture classified representation of thedigital image, and report an alert upon determining that the sitecontamination is present.

In another embodiment, the processor(s) and memory designate one or moreof the terrain texture categories as a site contamination category,identify a percentage of the superpixels in the texture classifiedrepresentation that are assigned the site contamination category, anddetermine that the site contamination is present at the geographicregion when the percentage exceeds a threshold.

In another embodiment, the processor(s) and memory designate one or moreof the terrain texture categories as a site contamination category,identify a total number of the superpixels in the texture classifiedrepresentation that are assigned the site contamination category, anddetermine that the site contamination is present at the geographicregion when the total number exceeds a threshold.

In another embodiment, the processor(s) and memory assign the terraintexture categories to the superpixels by performing, for each individualsuperpixel of the superpixels, the functions of: identifying pixels inthe individual superpixel that belong to at least one of the patches,identifying one or more of the terrain texture categories assigned toeach of the pixels, and assigning one of the terrain texture categoriesthat is assigned to a majority of the pixels as a terrain texturecategory for the individual superpixel.

In another embodiment, the terrain texture categories are assigned tothe patches based on a patch classification model. The processor(s) andmemory present one or more test images to a user, receive input from theuser indicating areas in the test images as test patches, receive inputfrom the user assigning one of the terrain texture categories to thetest patches, and train the patch classification model based on the testpatches.

In another embodiment, the site contamination comprises vegetationencroachment, and the terrain texture categories include at least a highvegetation category and a vegetation-free category. The processor(s) andmemory receive input from the user indicating first areas ofconcentrated vegetation within the test images as first test patches,and receive input from the user assigning the high vegetation categoryto the first test patches. The processor(s) and memory receive inputfrom the user indicating second areas of non-vegetation within the testimages as second test patches, and receive input from the user assigningthe vegetation-free category to the second test patches.

In another embodiment, the site contamination comprises erosion, and theterrain texture categories include at least a high erosion category andan erosion-free category. The processor(s) and memory receive input fromthe user indicating first areas of concentrated erosion within the testimages as first test patches, and receive input from the user assigningthe high erosion category to the first test patches. The processor(s)and memory receive input from the user indicating second areas ofnon-erosion within the test images as second test patches, and toreceive input from the user assigning the erosion-free category to thesecond test patches.

In another embodiment, the processor(s) and memory send an alert messagevia wireless signals while the aerial platform is airborne when the sitecontamination is present.

In another embodiment, the processor(s) and memory send an alert messagevia wireless signals while the aerial platform is airborne that a highvegetation contamination is present at the geographic region such that avegetation removal service can be directed to the location of thegeographic region.

Another embodiment comprises a method of performing a site inspection.The method comprises navigating an aerial platform to a location of ageographic region, and capturing a digital image of the geographicregion with an imaging device onboard the aerial platform while theaerial platform is airborne. The method further comprises segmenting thedigital image into superpixels at the aerial platform, selecting aregion of interest from the digital image to define one or more patchesassociated with the superpixels, assigning terrain texture categories tothe patches, and assigning the terrain texture categories to thesuperpixels based on the terrain texture categories of the patches togenerate a texture classified representation of the digital image. Themethod further comprises determining whether a site contamination ispresent at the geographic region based on the texture classifiedrepresentation of the digital image, and reporting an alert upondetermining that the site contamination is present.

In another embodiment, determining whether a site contamination ispresent comprises designating one or more of the terrain texturecategories as a site contamination category, identifying a percentage ofthe superpixels in the texture classified representation that areassigned the site contamination category, and determining that the sitecontamination is present at the geographic region when the percentageexceeds a threshold.

In another embodiment, determining whether a site contamination ispresent comprises designating one or more of the terrain texturecategories as a site contamination category, identifying a total numberof the superpixels in the texture classified representation that areassigned the site contamination category, and determining that the sitecontamination is present at the geographic region when the total numberexceeds a threshold.

In another embodiment, assigning the terrain texture categories to thesuperpixels comprises: for each individual superpixel of thesuperpixels, identifying pixels in the individual superpixel that belongto at least one of the patches, identifying one or more of the terraintexture categories assigned to each of the pixels, and assigning one ofthe terrain texture categories that is assigned to a majority of thepixels as a terrain texture category for the individual superpixel.

In another embodiment, assigning the terrain texture categories to thepatches comprises assigning the terrain texture categories to thepatches based on a patch classification model. The method furthercomprises presenting one or more test images to a user, receiving inputfrom the user indicating areas in the test images as test patches,receiving input from the user assigning one of the terrain texturecategories to the test patches, and training the patch classificationmodel based on the test patches.

In another embodiment, the site contamination comprises vegetationencroachment, and the terrain texture categories include at least a highvegetation category and a vegetation-free category. The step ofreceiving input from the user comprises receiving input from the userindicating first areas of concentrated vegetation within the test imagesas first test patches, receiving input from the user assigning the highvegetation category to the first test patches, receiving input from theuser indicating second areas of non-vegetation within the test images assecond test patches, and receiving input from the user assigning thevegetation-free category to the second test patches.

In another embodiment, the site contamination comprises erosion, and theterrain texture categories include at least a high erosion category andan erosion-free category. The step of receiving input from the usercomprises receiving input from the user indicating first areas ofconcentrated erosion within the test images as first test patches,receiving input from the user assigning the high erosion category to thefirst test patches, receiving input from the user indicating secondareas of non-erosion within the test images as second test patches, andreceiving input from the user assigning the erosion-free category to thesecond test patches.

In another embodiment, reporting an alert upon determining that the sitecontamination is present comprises sending an alert message via wirelesssignals while the aerial platform is airborne.

In another embodiment, reporting an alert upon determining that the sitecontamination is present comprises sending an alert message via wirelesssignals while the aerial platform is airborne that a high vegetationcontamination is present at the geographic region such that a vegetationremoval service can be directed to the location of the geographicregion.

Another embodiment comprises an unmanned aerial inspection system. Theunmanned aerial inspection system includes a UAV, an imaging device onthe UAV, and a platform controller on the UAV comprising processor(s)and memory that: navigate the UAV to a location of a geographic region,capture a digital image of the geographic region with the imaging devicewhile the UAV is airborne, and process the digital image while the UAVis airborne to: segment the digital image into superpixels, select aregion of interest from the digital image to define one or more patchesassociated with the superpixels, assign terrain texture categories tothe patches, assign the terrain texture categories to the superpixelsbased on the terrain texture categories of the patches to generate atexture classified representation of the digital image, determinewhether a vegetation encroachment is present at the geographic regionbased on the texture classified representation of the digital image, andsend an alert message via wireless signals to report when the vegetationencroachment is present.

The features, functions, and advantages that have been discussed can beachieved independently in various embodiments or may be combined in yetother embodiments, further details of which can be seen with referenceto the following description and drawings.

DESCRIPTION OF THE DRAWINGS

Some embodiments of the present invention are now described, by way ofexample only, with reference to the accompanying drawings. The samereference number represents the same element or the same type of elementon all drawings.

FIG. 1 is a block diagram of an unmanned aerial inspection system in anillustrative embodiment.

FIGS. 2-3 are perspective views of aerial platforms in illustrativeembodiments.

FIG. 4 is a block diagram of an aerial platform in an illustrativeembodiment.

FIG. 5 is a block diagram of a texture classifier in an illustrativeembodiment.

FIG. 6 is a flow chart illustrating a method of performing a siteinspection in an illustrative embodiment.

FIG. 7 illustrates a digital image captured by an imaging device in anillustrative embodiment.

FIG. 8 illustrates a digital image partitioned into superpixels in anillustrative embodiment.

FIG. 9 illustrates a region of interest on a digital image in anillustrative embodiment.

FIG. 10 is a magnified view of a region of interest in an illustrativeembodiment.

FIG. 11 is a flow chart illustrating a method of assigning texturecategories to superpixels in an illustrative embodiment.

FIG. 12 illustrates pixels within a superpixel in an illustrativeembodiment.

FIG. 13 illustrates a texture classified representation of a digitalimage in an illustrative embodiment.

FIGS. 14-15 are flow charts illustrating methods of identifying sitecontamination based on a texture classified representation in anillustrative embodiment.

FIG. 16 is a flow chart illustrating a method of training a textureclassifier in an illustrative embodiment.

FIG. 17 illustrates a test image in an illustrative embodiment.

FIG. 18 illustrates input by a user on a test image in an illustrativeembodiment.

FIG. 19 illustrates further input by a user on a test image in anillustrative embodiment.

DETAILED DESCRIPTION

The figures and the following description illustrate specific exemplaryembodiments. It will be appreciated that those skilled in the art willbe able to devise various arrangements that, although not explicitlydescribed or shown herein, embody the principles described herein andare included within the contemplated scope of the claims that followthis description. Furthermore, any examples described herein areintended to aid in understanding the principles of the disclosure, andare to be construed as being without limitation. As a result, thisdisclosure is not limited to the specific embodiments or examplesdescribed below, but by the claims and their equivalents.

Embodiments disclosed herein enable aerial inspection of geographicregions or sites on the ground. For example, the oil and gas industry isa highly-regulated industry, and the conditions of their facilities mayneed to be maintained up to a certain standard. The embodimentsdisclosed herein may therefore be used to aerially inspect well sites orother geographic regions to detect vegetation growth, erosion, groundcontamination, and/or types of site contamination.

FIG. 1 is a block diagram of an unmanned aerial inspection system 100 inan illustrative embodiment. Unmanned aerial inspection system 100 isconfigured to perform aerial inspection of one or more geographicregions 111-113, such as to detect site contamination at geographicregions 111-113. A geographic region 111-113 is an area that is visiblefrom the sky, and is also referred to as a “site”. A variety offacilities may be installed at geographic regions 111-113. In thisembodiment, a well site 121-123 is at geographic regions 111-113,respectively. Site contamination refers to the introduction or formationof an undesirable element or condition at a site. For example, a sitecontamination may comprise overgrowth or encroachment of vegetation,erosion of soil, material spill resulting in soil contamination, etc.,at one or more of geographic regions 111-113. While FIG. 1 shows threegeographic regions 111-113, unmanned aerial inspection system 100 may beused to monitor a single geographic region or more than three geographicregions in other embodiments.

Unmanned aerial inspection system 100 includes one or more aerialplatforms, such as aerial platform 180. Each aerial platform 180comprises an aircraft (e.g., an Unmanned Aerial Vehicle (UAV)) that isconfigured to fly over one or more of geographic regions 111-113 andcollect data. For example, while FIG. 1 shows aerial platform 180 overgeographic region 112 during a particular data collection period, aerialplatform 180 may gather data in another geographic region 111/113 duringa different data collection period. Aerial platform 180 includes sensorsconfigured to gather data related to a geographic region 111-113. Aswill be described in more detail below, aerial platform 180 includes animaging device configured to capture one or more digital imagesrepresenting a particular field of view of a geographic region 111-113.Aerial platform 180 includes onboard functionalities that process adigital image, and assign terrain texture categories to areas of thedigital image. Aerial platform 180 also includes onboard functionalitiesthat are able to detect a site contamination based on the terraintexture categories.

Unmanned aerial inspection system 100 also includes an inspectioncontroller 130. Inspection controller 130 includes a hardware platformcomprised of a processor 131, a memory 132, and one or morecommunication interfaces 136. The processor 131 comprises an integratedhardware circuit configured to execute instructions, and may alsoinclude a Central Processing Unit (CPU) or Graphics Processing Unit(GPU). The memory 132 is a non-transitory computer readable storagemedium that stores instructions 133 that are executable by processor 131to cause inspection controller 130 to perform the various operationsdescribed herein. Memory 132 may also store an inspection schedule 134,which indicates times and locations for inspection of geographic regions111-113, and other data, applications, etc.

Inspection controller 130 may further include a user interface 117 thatis coupled to processor 131. User interface 117 is a hardware componentfor interacting with an end user. For example, user interface 117 mayinclude a screen or touch screen (e.g., a Liquid Crystal Display (LCD),a Light Emitting Diode (LED) display, etc.), a keyboard or keypad, atracking device (e.g., a trackball or trackpad), a speaker, and amicrophone.

Inspection controller 130 is communicatively coupled to a receiver 137and a transmitter 138, which in turn are coupled to an antenna 139.Inspection controller 130 is configured to exchange wirelesscommunications (e.g., Radio-Frequency (RF) transmissions) with aerialplatform 180 via receiver 137 and transmitter 138. In this example,inspection controller 130 causes transmitter 138 to transmit controlsignals 140 to aerial platform 180. The control signals 140 may bebroadcast signals (e.g., not addressed to a particular aerial platform180), or may be unicast or multicast signals that are addressed to aparticular aerial platform(s). Inspection controller 130 may alsoreceive reporting data 141 from aerial platform 180 through receiver137.

Unmanned aerial inspection system 100 further includes a trainingframework 150. Training framework 150 may be implemented on the samehardware platform as inspection controller 130. Additionally oralternatively, training framework 150 may be implemented on aerialplatform 180. Training framework 150 is configured to train classifierson aerial platform(s) 180. As will be described in more detail below,training framework 150 interacts with a user to define training databased on one or more test images. Training framework 150 uses thetraining data to train a supervised learning model used on aerialplatform(s) 180.

During operation, inspection controller 130 determines when to initiateinspection of one or more geographic regions 111-113 based on inspectionschedule 134. In some embodiments, the inspection schedule 134 indicateswhen to initiate an inspection period based on time, such as a timeelapsed since a previous inspection, current date or current time, or acombination thereof. Additionally or alternatively, the inspectionschedule 134 may indicate when to initiate an inspection period based oninformation received from aerial platform 180. For example, theinspection schedule 134 may indicate that an inspection period is to beinitiated responsive to an indication that aerial platform 180 is readyto perform an inspection (e.g., is at a particular location and has aparticular field of view). Additionally or alternatively, the inspectionschedule 134 may be based on conditions that change over time. Forexample, inspection controller 130 may schedule an inspection periodwhen ambient conditions are similar to ambient conditions during aprevious inspection period, during training of aerial platform 180, etc.

FIGS. 2-3 are perspective views of aerial platforms in illustrativeembodiments. Aerial platform 200 in FIG. 2 is one example of aerialplatform 180 in FIG. 1. Aerial platform 200 comprises a rotary-wing UAV202 that is autonomous (i.e., self-piloted) or is piloted remotely.Rotary-wing UAV 202 includes a fuselage 204, and a plurality of rotors206 configured to provide lift and thrust. With this design, rotary-wingUAV 202 is able to take off and land vertically, hover, fly forwards,backwards, and laterally. Rotary-wing UAV 202 also includes an imagingdevice 220 configured to capture digital images. Imaging device 220 isillustrated as being mounted on the bottom side of fuselage 204, but maybe mounted at other locations to allow a clear field of view togeographic regions 111-113. Although rotary-wing UAV 202 is shown as aquadcopter in FIG. 2 with four rotors, rotary-wing UAV 202 may have moreor less rotors in other embodiments.

Aerial platform 300 in FIG. 3 is another example of aerial platform 180in FIG. 1. Aerial platform 300 comprises a fixed-wing UAV 302 that isautonomous or is piloted remotely. Fixed-wing UAV 302 includes afuselage 304, wings 306, a tail section 308, and a propeller 310 (oranother type of engine that produces thrust, such as a jet engine).Fixed-wing UAV 302 also includes an imaging device 220 configured tocapture digital images. Imaging device 220 is illustrated as beingmounted on the bottom side of fuselage 304, but may be mounted at otherlocations to allow a clear field of view to geographic regions 111-113.The structure of fixed-wing UAV 302 is provided as an example, and mayhave other designs/configurations in other embodiments.

FIG. 4 is a block diagram of aerial platform 180 in an illustrativeembodiment. In the example illustrated in FIG. 4, aerial platform 180includes a hardware platform comprised of a processor 403, a memory 404,a plurality of sensors 408, and one or more communication interfaces402, and also includes flight systems 407. Communication interfaces 402include a wireless communication interface (e.g., including atransmitter and a receiver) coupled to an antenna 401. Communicationinterfaces 402 may also include a wired communication interface, such asa data port (e.g., a Universal Serial Bus (USB) port, an Ethernet port,etc.). Processor 403 is configured to execute instructions 405 stored inmemory 404 to implement a platform controller 430. Platform controller430 is configured to control the operations of aerial platform 180 inperforming an aerial inspection. In some embodiments, platformcontroller 430 is also configured to perform one or more operationsresponsive to control signals 140 received via communication interfaces402 (see FIG. 1). For example, the control signals 140 may includeflight control commands (e.g., remote piloting input) from inspectioncontroller 130 or navigational commands (e.g., waypoints or othernavigation data 406) to direct aerial platform 180 to a geographicregion 111-113. In this example, platform controller 430 controls theflight systems 407 to move aerial platform 180 to a particular location.As another example, the control signals 140 may direct that particularones of the sensors 408 be used to gather data. For example, the controlsignals 140 may direct that, at a particular position, an imaging device220 captures one or more digital images.

Instructions 405 are executable by processor 403 to control varioussubsystems of aerial platform 180. For example, instructions 405 mayinclude one or more communication protocol stacks to enable processor403 to send and receive information via the communication interfaces402. Instructions 405 may also include flight instructions that areexecutable by processor 403 to control flight systems 407 to navigateaerial platform 180, to stabilize aerial platform 180, etc. In someimplementations, one or more of the sensors 408 provide data toprocessor 403 for use in controlling flight of aerial platform 180. Toillustrate, sensors 408 may include a position sensor 412 and anorientation sensor 410. In this example, position sensor 412 may includea Global Positioning System (GPS) receiver, a local positioning systemreceiver, a dead reckoning system, etc., that generates position data.The position data may be transmitted to inspection controller 130 and/orto processor 403 to determine a flight path for aerial platform 180.Orientation sensor 410 may generate orientation data (e.g., a pitch,roll, and/or yaw of aerial platform 180 during flight) as flight controlfeedback, facilitate determination of a field of view of imaging device220, etc. The orientation data may be transmitted to inspectioncontroller 130 and/or to processor 403.

Flight systems 407 include components to generate thrust and lift, andcomponents to enable flight path control. The specific components offlight systems 407 may be different in different implementations. Forexample, if aerial platform 180 is a rotary-wing UAV (see FIG. 2), thenflight systems 407 include a plurality of rotors that provide lift,thrust, and flight path control. If aerial platform 180 is a fixed-wingUAV (see FIG. 3), then flight systems 407 include one or morepropellers, fans, or jets to provide thrust, wings to provide lift, andflight surfaces or wing deformation actuators to provide flight pathcontrol.

In FIG. 4, sensors 408 include imaging device 220, orientation sensor410, and position sensor 412. In other embodiments, sensors 408 mayinclude more sensors, fewer sensors, or different sensors. Imagingdevice 220 includes an image sensor configured to capture digitalimages. In one embodiment, imaging device 220 comprises a digital camera(e.g., High-Definition (HD)) that captures light across three wavelengthbands in the visible spectrum; red, green, and blue (RGB). The digitalcamera may use charge coupled device (CCD) or complementary metal oxidesemiconductor (CMOS) sensors to capture a digital image. Although FIG. 4illustrates a single imaging device 220, aerial platform 180 may includemultiple imaging devices 220 in other embodiments.

Orientation sensor 410 includes sensors to determine an orientation ofaerial platform 180 in space, such as a pitch angle, a yaw angle, and aroll angle. For example, orientation sensor 410 may include a pluralityof gyroscopic sensors. Orientation sensor 410 generates the orientationdata, which may be used to determine a field of view of imaging device220 to ensure that the digital image corresponds to a target field ofview.

In one embodiment, platform controller 430 includes a texture classifier420 and a contamination detector 422. Texture classifier 420 is asubsystem of aerial platform 180 configured to perform textureclassification of a digital image acquired by imaging device 220 byassigning terrain texture categories to the digital image. FIG. 5 is ablock diagram of texture classifier 420 in an illustrative embodiment.In this embodiment, texture classifier 420 is represented by asegmentation element 502 and a classification element 504. Segmentationelement 502 comprises circuitry, logic, hardware, means, etc.,configured to acquire a digital image 520, and perform imagesegmentation by partitioning the digital image 520 into multiplesegments or superpixels (or superpixel cells comprising groups ofsimilar spatially connected pixels). A superpixel is a grouping ofpixels in an area of a digital image that have similar or homogeneousvisual properties, such as color, intensity, etc. Thus, a grouping ofpixels in an area of a digital image may be treated as a single unit,which is referred to as a superpixel. In one embodiment, a machinelearning architecture may be used to implement segmentation element 502.Machine learning generally refers to an automated process of parsingdata, learning from the data, and then adapting the output based on thelearning without being explicitly programmed. Machine learning differsfrom traditional computer processes where instructions or programming ispredefined and explicit so that the same steps are repeated given thesame input. Rather than having activities defined in advance, a systemimplementing machine learning may be trained to observe patterns in dataand adjust actions or steps to take over time. According to the type ofinput training data, machine learning algorithms may generally begrouped into three categories: supervised learning, unsupervisedlearning, and semi-supervised learning. In supervised learning, theavailable training data is labelled, whereas unsupervised learningalgorithms are trained on un-labelled training data. In semi-supervisedlearning, the input contains both labeled and un-labelled training data.In this embodiment, an unsupervised segmentation algorithm 512 may beused for segmentation element 502. For example, a linear iterativeclustering algorithm, such as Simple Linear Iterative Clustering (SLIC),may be used to partition a digital image into superpixels. Othermethods, such as graph based algorithms “Normalized Cut” and “RandomWalks”, produce similar superpixel segmentation. Segmentation element502 is not restricted to any particular superpixel implementation, whichmay be selected and customized to the type of the target texturecategories.

Classification element 504 comprises circuitry, logic, hardware, means,etc., configured to perform patch classification by identifying patchesin the superpixels of a digital image, and assigning a terrain texturecategory to each of the patches. A patch is a collection of neighboringpixels of a fixed size. For example, a patch may be a collection of16×16 pixels, 20×20 pixels, 100×100 pixels, 1000×1000 pixels, etc. Inone embodiment, a machine learning architecture may be used to implementclassification element 504. Patch classification generally involves twophases: the learning phase and the recognition phase. In the learningphase, a supervised machine learning algorithm may be used to build apatch classification model 514 based on test patches. The texturecontent of the test patches may be characterized by textural properties,such as spatial structure, contrast, roughness, orientation, etc. In therecognition phase, the texture content of patches in a digital image arecompared to the test patches via the patch classification model 514, andthe patches are assigned to a terrain texture category based on wherethey fit in the patch classification model 514. In one embodiment,classification element 504 may include a machine learning model formulticlass object classification, such as Support-Vector Machine (SVM),Multi-Layer Perceptron (MLP), and other similar models, configured toassign the terrain texture categories to the patches using the patchclassification model 514. Based on terrain texture categories of thepatch(es) in the superpixels, classification element 504 is able toassign a terrain texture category to each superpixel of the digitalimage. The result is that classification element 504 outputs a textureclassified representation 522 of the digital image 520, where textureclassified representation 522 indicates the superpixels and the terraintexture category for the superpixels.

In the embodiment of FIG. 5, texture classifier 420 applies a votingschema to combine multiple machine learning models to generate textureclassified representation 522. More particularly, texture classifier 420uses one model (e.g., unsupervised segmentation algorithm 512) tosegment the digital image 520 into superpixels. Texture classifier 420uses another model (e.g., patch classification model 514) to classifypatches in the superpixels, and to classify the superpixels based on thepatch classifications. The voting schema combining multiple machinelearning models indicate that texture classifier 420 implements anensemble learning architecture 530.

In FIG. 4, contamination detector 422 is a subsystem of aerial platform180 configured to determine whether a site contamination is identifiedat a geographic region 111-113 based on the texture classifiedrepresentation 522 of the digital image 520. Contamination detector 422may trigger an action when a site contamination is identified. Forexample, contamination detector 422 may report an alert that is sent toa service entity via wired or wireless signals so that the sitecontamination may be addressed.

In some embodiments, aerial platform 180 may also include a trainingframework 150 and/or a user interface 117 as described above in FIG. 1.

FIG. 6 is a flow chart illustrating a method 600 of performing a siteinspection in an illustrative embodiment. The steps of method 600 willbe described with respect to unmanned aerial inspection system 100 ofFIGS. 1-5, although one skilled in the art will understand that themethods described herein may be performed on other types of systems. Thesteps of the methods described herein are not all inclusive and mayinclude other steps not shown. The steps for the flow charts shownherein may also be performed in an alternative order.

A site inspection may be part of a service used to inspect one or moregeographic regions 111-113 or sites. For example, an oil and gas companymay use the site inspection service to monitor wells sites or the likefor site contaminations. For a site inspection, platform controller 430navigates aerial platform 180 to the location of a geographic region111-113 (step 602). When at the location of the geographic region111-113, imaging device 220 captures a digital image 520 of thegeographic region 111-113 (step 604). For example, platform controller430 may instruct imaging device 220 to capture the digital image 520while aerial platform 180 is airborne and when aerial platform 180 ispositioned at a desired location (e.g., latitude, longitude, altitude,etc.) above the geographic region 111-113 with a clear line of site tothe geographic region 111-113. Platform controller 430 may process datafrom orientation sensor 410 and/or position sensor 412 to positionaerial platform 180. Platform controller 430 may instruct imaging device220 to capture multiple digital images as desired.

FIG. 7 illustrates a digital image 520 captured by imaging device 220 inan illustrative embodiment. Digital image 520 shows a well site 702 atthe geographic region 111-113 in this example, although the geographicregion 111-113 may include other types of equipment, buildings,construction, etc. Digital image 520 also shows potential contaminants704 at well site 702, which may comprise vegetation, erosion, soilcontamination, etc.

The digital image 520 is then processed, which may occur while aerialplatform 180 is airborne. Processing of digital image 520 in thisembodiment involves multiple image analysis techniques, which are imagesegmentation and patch classification. For image segmentation,segmentation element 502 (see FIG. 5) segments the digital image 520into superpixels (step 606 of FIG. 6). As described above, a superpixelis a grouping of pixels in an area of digital image 520 that havesimilar or homogeneous visual properties. FIG. 8 illustrates digitalimage 520 partitioned into superpixels 802 in an illustrativeembodiment. Although not visible in FIGS. 7-8, digital image 520 is apixel-grid. Segmentation element 502 partitions the pixel-grid into aplurality of non-overlapping superpixels 802, such as with segmentationalgorithm 512.

For patch classification, classification element 504 selects a region ofinterest from digital image 520 to identify or define one or morepatches associated with or in superpixels 802 (step 608 in FIG. 6), andassigns terrain texture categories to the patches (step 610), such aswith patch classification model 514. FIG. 9 illustrates a region ofinterest 902 on digital image 520 in an illustrative embodiment. In thisembodiment, region of interest 902 is a rectangular region that containsat least one superpixel 802. Classification element 504 is configured toiteratively apply or slide the region of interest 902 across digitalimage 520 (e.g., across the entirety of digital image 520 from top tobottom), and identify patches in superpixels 802 positioned inside ofregion of interest 902 at each iteration. FIG. 10 is a magnified view ofregion of interest 902 in an illustrative embodiment. In the iterationof region of interest 902 shown in FIG. 10, classification element 504identifies patches 1002, which are each a collection of neighboringpixels of a fixed size generally smaller than the size of a superpixel802. A number of patches 1002 are illustrated in FIG. 10 as an example,but more or less patches 1002 may be identified in other embodiments.Classification element 504 also assigns terrain texture categories topatches 1002. As described in more detail below, patch classificationmodel 514 may be trained with test patches. Using patch classificationmodel 514, classification element 504 is able to compare each patch 1002to the texture content of the test patches to assign a terrain texturecategory to each of the patches 1002. It is noted herein that steps 608and 610 may be combined in a single processing step in some embodiments.

With a terrain texture category assigned to patches 1002, classificationelement 504 assigns terrain texture categories to superpixels 802 basedon the terrain texture categories of patches 1002 located within each ofthe superpixels 802 (step 612 of FIG. 6). One example of assigningtexture categories to superpixels 802 is illustrated in method 1100 ofFIG. 11. Method 1100 of FIG. 11 may be performed for each individualsuperpixel 802 of digital image 520. Classification element 504identifies pixels in the superpixel 802 that belong to one or more ofthe patches 1002 (step 1102). FIG. 12 illustrates pixels 1202 within asuperpixel 802 in an illustrative embodiment. FIG. 12 is not drawn toscale, but is provided to illustrate a basic example of a superpixel802. Some or all of pixels 1202 may have been identified as part of apatch 1002 within superpixel 802 as shown in FIG. 10. Also, the patches1002 may overlap, so some or all of pixels 1202 may be part of multiplepatches 1002. Classification element 504 identifies one or more terraintexture categories assigned to each of the pixels 1202 (step 1104 ofFIG. 11), such as identified in step 1102. Each pixel 1202 of a patch1002 is associated with a terrain texture category that was assigned tothe patch 1002. Thus, one pixel 1202-1 in FIG. 12 is shown as havingterrain texture categories A and B, another pixel 1202-2 in FIG. 12 isshown as having terrain texture category A, and yet another pixel 1202-3in FIG. 12 is shown as having terrain texture categories A and B.Classification element 504 then assigns one of the terrain texturecategories, that is assigned to a majority of the pixels 1202, as theterrain texture category for the superpixel 802 (step 1106 of FIG. 11).For example, each pixel 1202 casts one or more “votes” from the patches1002 it belongs to and the terrain texture category or categoriesassigned to the patches 1002. Classification element 504 classifies asuperpixel 802 with a terrain texture category according to the majorityvote from the pixels 1202 in the superpixel 802.

Classification element 504 may perform method 1100 for each superpixel802 to generate a texture classified representation 522 of digital image520. FIG. 13 illustrates a texture classified representation 522 ofdigital image 520 in an illustrative embodiment. Each superpixel 802 intexture classified representation 522 is assigned a terrain texturecategory. There are three terrain texture categories represented in FIG.13, although there may be more or less terrain texture categories inother embodiments. The superpixels 802 with cross-hashing indicate afirst terrain texture category, the superpixels 802 withdiagonal-hashing indicate a second terrain texture category, and thesuperpixels 802 shown in white or no hashing indicate a third terraintexture category. As an example, the type of site contamination underinspection may comprise vegetation encroachment at a geographic region111-113. The terrain texture categories may include a high vegetationcategory, a low vegetation category, a vegetation-free category, or somecombination of these or other categories. The superpixels 802 indicatedby cross-hashing may represent a high vegetation category (e.g., tallgrass, bushy area), the superpixels 802 indicated by diagonal-hashingmay represent a low vegetation category (e.g., low grass), and thesuperpixels 802 indicated by no hashing may represent a vegetation-freecategory. In another example, the type of site contamination underinspection may comprise erosion at a geographic region 111-113. Theterrain texture categories may include a high erosion category, a lowerosion category, an erosion-free category, or some combination of theseor other categories. The superpixels 802 indicated by cross-hashing mayrepresent a high erosion category (e.g., cracks, severe earthsubsidence), the superpixels 802 indicated by diagonal-hashing mayrepresent a low erosion category (e.g., sand washes, small cracks), andthe superpixels 802 indicated by no hashing may represent anerosion-free category.

Platform controller 430 may store texture classified representation 522along with associated location information. Platform controller 430 mayalso process texture classified representation 522 while in operation(e.g., in flight). In one embodiment, contamination detector 422determines whether a site contamination is present at the geographicregion 111-113 based on the texture classified representation 522 (step614 of FIG. 6). FIGS. 14-15 are flow charts illustrating methods ofidentifying site contamination based on texture classifiedrepresentation 522 in an illustrative embodiment. In method 1400 of FIG.14, a site contamination is identified when the percentage ofsuperpixels 802 in texture classified representation 522 having aparticular terrain texture category (e.g., high vegetation, higherosion, etc.) exceeds a threshold. For the method 1400, contaminationdetector 422 designates one or more of the terrain texture categories asa site contamination category (step 1402). For example, a user maydenote a high vegetation category, a high erosion category, etc., as asite contamination category. Contamination detector 422 identifies apercentage of superpixels 802 that are assigned the site contaminationcategory (step 1404), and determines that the site contamination ispresent at the geographic region 111-113 when the percentage exceeds athreshold (step 1406).

In method 1500 of FIG. 15, a site contamination is identified when thenumber (e.g., one or more) of superpixels 802 in texture classifiedrepresentation 522 having a particular terrain texture category exceedsa threshold. For the method 1500, contamination detector 422 designatesone or more of the texture categories as a site contamination category(step 1502), identifies a total number of superpixels 802 that areassigned the site contamination category (step 1504), and determinesthat the site contamination is present at the geographic region 111-113when the total number exceeds a threshold (step 1506).

In response to a determination that a site contamination is present,contamination detector 422 reports an alert (step 616 in FIG. 6). Forexample, contamination detector 422 may send an alert message toinspection controller 130 or another entity via wireless signals throughcommunication interface 402 (step 618) while aerial platform 180 isairborne. The alert message may indicate that a high vegetationcontamination or another type of site contamination is present at thegeographic region 111-113. In another example, contamination detector422 may enter the alert into a report, and send the report to inspectioncontroller 130 or another entity via wireless signals, or via wiredsignals when aerial platform 180 has landed and data is downloaded. Inresponse to the alert, a service entity may be deployed to thegeographic region 111-113 to address the site contamination detected byaerial platform 180. For instance, a vegetation removal service may bedirected to the location of the geographic region 111-113 when a highvegetation contamination is reported.

When no site contamination is detected, contamination detector 422 mayreport a satisfactory condition (step 620). For example, contaminationdetector 422 may send a notification that no contamination wasidentified, to inspection controller 130 or another entity via wirelesssignals through communication interface 402 while aerial platform 180 isairborne. In another example, contamination detector 422 may enter thesatisfactory condition into a report, and send the report to inspectioncontroller 130 or another entity via wireless signals, or via wiredsignals when aerial platform 180 has landed and data is downloaded.

The inspection method described above provides benefits in that dataprocessing may be performed on-board aerial platform 180. When aerialplatform 180 takes a digital image 520 of a geographic region 111-113,it is able to process the digital image 520 using the image analysistechniques of image segmentation and patch classification. Through thisimage analysis, aerial platform 180 is able to achieve a pixel-by-pixelclassification of the digital image 520, and identify contamination at asite under inspection. The image analysis techniques are not asprocessing-intensive as some other techniques so processing may beperformed on-board aerial platform 180. Thus, site contamination may bedetected in real-time as aerial platform 180 is airborne. Anotherbenefit is that image analysis may be performed on a digital image 520taken with a digital camera or the like. Thus, a multispectral sensor isnot needed on aerial platform 180, which lowers operational costs.

Yet another benefit is that limited training data may be used to traintexture classifier 420 onboard aerial platform 180. In one embodiment,texture classifier 420 may be trained with a limited number of testpatches (e.g., ten, twenty, fifty, or more). FIG. 16 is a flow chartillustrating a method of training texture classifier 420 in anillustrative embodiment. As described above, a supervised machinelearning method may be used to build a patch classification model 514 ofclassification element 504 (see FIG. 5). To train patch classificationmodel 514, training framework 150 (see FIG. 1) may interact with a user(e.g., a human operator) to receive input. Training framework 150presents one or more test images to the user (step 1602), such asthrough user interface 117. The test images may be images previouslycaptured by aerial platform 180, or may be other images. FIG. 17illustrates a test image 1700 in an illustrative embodiment. Test image1700 is of another well site in this example, but may be of any site inother embodiments. Training framework 150 receives input from the userindicating areas in the test images 1700 as test patches (step 1604 inFIG. 16), such as through user interface 117. For instance, the user maydraw polygons (or other shapes) on the textures of test image 1700 witha pointing device or the like that are of interest for detection. FIG.18 illustrates input by a user on test image 1700 in an illustrativeembodiment. In FIG. 18, the user has drawn polygons around areas of testimage 1700 to define test patches 1801-1803. Test patches 1801-1803 mayindicate different textures or terrain on test image 1700. For example,test patches 1801 may indicate concentrated vegetation, erosion, etc.,test patches 1802 may indicate moderate vegetation, erosion, etc., andtest patches 1803 may indicate no vegetation, no erosion, etc.

Training framework 150 further receives input from the user assigningterrain texture categories to the test patches 1801-1803 (step 1606 inFIG. 16), such as through user interface 117. Training framework 150assigns one texture category to each of the test patches 1801-1803. FIG.19 illustrates further input by a user on test image 1700 in anillustrative embodiment. In FIG. 19, the user has assigned a category(e.g., CAT A, CAT B, or CAT C) to test patches 1801-1803. For example,the category assigned to test patches 1801 may be high vegetation, higherosion, etc., the category assigned to test patches 1802 may be lowvegetation, low erosion, etc., and the category assigned to test patches1803 may be vegetation-free, erosion-free, etc.

Although three different types of test patches are shown in FIGS. 18-19,there may be more or less test patches and more or less terrain texturecategories in other embodiments. For example, the type of sitecontamination may comprise vegetation encroachment, and the terraintexture categories may include a high vegetation category and avegetation-free category. Training framework 150 may receive input fromthe user indicating first areas of concentrated vegetation within testimage 1700 as first test patches, and receive input from the userassigning a high vegetation category to the first test patches. Trainingframework 150 may further receive input from the user indicating secondareas of non-vegetation within test image 1700 as second test patches,and receive input from the user assigning the vegetation-free categoryto the second test patches. Training framework 150 may receive input fortest patches that are assigned a low vegetation category or another typeof category.

In another example, the type of site contamination may comprise erosion,and the terrain texture categories may include a high erosion categoryand an erosion-free category. Training framework 150 may receive inputfrom the user indicating first areas of concentrated erosion within testimage 1700 as first test patches, and receive input from the userassigning a high erosion category to the first test patches. Trainingframework 150 may further receive input from the user indicating secondareas of non-erosion within test image 1700 as second test patches, andreceive input from the user assigning the erosion-free category to thesecond test patches. Training framework 150 may receive input for testpatches that are assigned a low erosion category or another type ofcategory.

With the desired number of test patches 1801-1803 defined, trainingframework 150 trains patch classification model 514 based on the testpatches 1801-1803 (step 1608 in FIG. 16). For example, trainingframework 150 may send the test patches 1801-1803 to platform controller430 in aerial platform 180. Training framework 150 may send the testpatches 1801-1803 to platform controller 430 via wireless signalsthrough communication interface 402 while aerial platform 180 isairborne. Alternatively, training framework 150 may send the testpatches 1801-1803 to platform controller 430 via wired signals throughcommunication interface 402, such as when aerial platform 180 haslanded. Also, as described above, training framework 150 and/or userinterface 117 may be installed onboard aerial platform 180 in otherembodiments. In response to the test patches 1801-1803, classificationelement 504 (see FIG. 5) is configured to build the patch classificationmodel 514 with test patches 1801-1803. The training method 1600 may beused to initially train the patch classification model 514, and may beused intermittently to further train the patch classification model 514.

The training method 1600 is beneficial in that intense labeling of everypixel on a test image 1700 is not required. And, the user is notrequired to annotate a large number (e.g., thousands) of test images totrain the patch classification model 514. The user may define arelatively small number of test patches 1801-1803 to represent the typesof textures desired for inspection. Thus, the burden on the user intraining the patch classification model 514 is limited.

Any of the various elements shown in the figures or described herein maybe implemented as hardware, software, firmware, or some combination ofthese. For example, an element may be implemented as dedicated hardware.Dedicated hardware elements may be referred to as “processors”,“controllers”, or some similar terminology. When provided by aprocessor, the functions may be provided by a single dedicatedprocessor, by a single shared processor, or by a plurality of individualprocessors, some of which may be shared. Moreover, explicit use of theterm “processor” or “controller” should not be construed to referexclusively to hardware capable of executing software, and mayimplicitly include, without limitation, digital signal processor (DSP)hardware, a network processor, application specific integrated circuit(ASIC) or other circuitry, field programmable gate array (FPGA), readonly memory (ROM) for storing software, random access memory (RAM),non-volatile storage, logic, or some other physical hardware componentor module.

Also, an element may be implemented as instructions executable by aprocessor or a computer to perform the functions of the element. Someexamples of instructions are software, program code, and firmware. Theinstructions are operational when executed by the processor to directthe processor to perform the functions of the element. The instructionsmay be stored on storage devices that are readable by the processor.Some examples of the storage devices are digital or solid-statememories, magnetic storage media such as a magnetic disks and magnetictapes, hard drives, or optically readable digital data storage media.

Although specific embodiments were described herein, the scope is notlimited to those specific embodiments. Rather, the scope is defined bythe following claims and any equivalents thereof.

The invention claimed is:
 1. An unmanned aerial inspection system,comprising: an aerial platform comprising an imaging device, and atleast one processor and at least one memory that: navigate the aerialplatform to a location of a geographic region; capture a digital imageof the geographic region with the imaging device while the aerialplatform is airborne; segment the digital image into superpixels; selecta region of interest from the digital image to define one or morepatches associated with the superpixels; assign terrain texturecategories to the patches; assign the terrain texture categories to thesuperpixels based on the terrain texture categories of the patches togenerate a texture classified representation of the digital image;determine whether a site contamination is present at the geographicregion based on the texture classified representation of the digitalimage; and report an alert upon determining that the site contaminationis present.
 2. The unmanned aerial inspection system of claim 1 whereinthe at least one processor and at least one memory: designate one ormore of the terrain texture categories as a site contamination category;identify a percentage of the superpixels in the texture classifiedrepresentation that are assigned the site contamination category; anddetermine that the site contamination is present at the geographicregion when the percentage exceeds a threshold.
 3. The unmanned aerialinspection system of claim 1 wherein the at least one processor and atleast one memory: designate one or more of the terrain texturecategories as a site contamination category; identify a total number ofthe superpixels in the texture classified representation that areassigned the site contamination category; and determine that the sitecontamination is present at the geographic region when the total numberexceeds a threshold.
 4. The unmanned aerial inspection system of claim 1wherein the at least one processor and at least one memory assign theterrain texture categories to the superpixels by: for each individualsuperpixel of the superpixels, identifying pixels in the individualsuperpixel that belong to at least one of the patches; identifying oneor more of the terrain texture categories assigned to each of thepixels; and assigning one of the terrain texture categories that isassigned to a majority of the pixels as a terrain texture category forthe individual superpixel.
 5. The unmanned aerial inspection system ofclaim 1 wherein: the at least one processor and at least one memoryassign the terrain texture categories to the patches based on a patchclassification model; and the at least one processor and at least onememory: present one or more test images to a user; receive input fromthe user indicating areas in the test images as test patches; receiveinput from the user assigning one of the terrain texture categories tothe test patches; and train the patch classification model based on thetest patches.
 6. The unmanned aerial inspection system of claim 5wherein: the site contamination comprises vegetation encroachment, andthe terrain texture categories include at least a high vegetationcategory and a vegetation-free category; the at least one processor andat least one memory receive input from the user indicating first areasof concentrated vegetation within the test images as first test patches,and receive input from the user assigning the high vegetation categoryto the first test patches; and the at least one processor and at leastone memory receive input from the user indicating second areas ofnon-vegetation within the test images as second test patches, andreceive input from the user assigning the vegetation-free category tothe second test patches.
 7. The unmanned aerial inspection system ofclaim 5 wherein: the site contamination comprises erosion, and theterrain texture categories include at least a high erosion category andan erosion-free category; the at least one processor and at least onememory receive input from the user indicating first areas ofconcentrated erosion within the test images as first test patches, andreceive input from the user assigning the high erosion category to thefirst test patches; and the at least one processor and at least onememory receive input from the user indicating second areas ofnon-erosion within the test images as second test patches, and toreceive input from the user assigning the erosion-free category to thesecond test patches.
 8. The unmanned aerial inspection system of claim 1wherein the at least one processor and at least one memory: send analert message via wireless signals while the aerial platform is airbornewhen the site contamination is present.
 9. The unmanned aerialinspection system of claim 1 wherein the at least one processor and atleast one memory: send an alert message via wireless signals while theaerial platform is airborne that a high vegetation contamination ispresent at the geographic region such that a vegetation removal servicecan be directed to the location of the geographic region.
 10. Theunmanned aerial inspection system of claim 1 wherein the aerial platformis one of a rotary-wing Unmanned Aerial Vehicle (UAV) and a fixed-wingUAV.
 11. A method of performing a site inspection, the methodcomprising: navigating an aerial platform to a location of a geographicregion; capturing a digital image of the geographic region with animaging device onboard the aerial platform while the aerial platform isairborne; segmenting the digital image into superpixels at the aerialplatform; selecting a region of interest from the digital image todefine one or more patches associated with the superpixels; assigningterrain texture categories to the patches; assigning the terrain texturecategories to the superpixels based on the terrain texture categories ofthe patches to generate a texture classified representation of thedigital image; determining whether a site contamination is present atthe geographic region based on the texture classified representation ofthe digital image; and reporting an alert upon determining that the sitecontamination is present.
 12. The method of claim 11 wherein determiningwhether a site contamination is present comprises: designating one ormore of the terrain texture categories as a site contamination category;identifying a percentage of the superpixels in the texture classifiedrepresentation that are assigned the site contamination category; anddetermining that the site contamination is present at the geographicregion when the percentage exceeds a threshold.
 13. The method of claim11 wherein determining whether a site contamination is presentcomprises: designating one or more of the terrain texture categories asa site contamination category; identifying a total number of thesuperpixels in the texture classified representation that are assignedthe site contamination category; and determining that the sitecontamination is present at the geographic region when the total numberexceeds a threshold.
 14. The method of claim 11 wherein assigning theterrain texture categories to the superpixels comprises: for eachindividual superpixel of the superpixels, identifying pixels in theindividual superpixel that belong to at least one of the patches;identifying one or more of the terrain texture categories assigned toeach of the pixels; and assigning one of the terrain texture categoriesthat is assigned to a majority of the pixels as a terrain texturecategory for the individual superpixel.
 15. The method of claim 11wherein: assigning the terrain texture categories to the patchescomprises assigning the terrain texture categories to the patches basedon a patch classification model; and the method further comprises:presenting one or more test images to a user; receiving input from theuser indicating areas in the test images as test patches; receivinginput from the user assigning one of the terrain texture categories tothe test patches; and training the patch classification model based onthe test patches.
 16. The method of claim 15 wherein: the sitecontamination comprises vegetation encroachment, and the terrain texturecategories include at least a high vegetation category and avegetation-free category; and receiving input from the user comprises:receiving input from the user indicating first areas of concentratedvegetation within the test images as first test patches; receiving inputfrom the user assigning the high vegetation category to the first testpatches; receiving input from the user indicating second areas ofnon-vegetation within the test images as second test patches; andreceiving input from the user assigning the vegetation-free category tothe second test patches.
 17. The method of claim 15 wherein: the sitecontamination comprises erosion, and the terrain texture categoriesinclude at least a high erosion category and an erosion-free category;receiving input from the user comprises: receiving input from the userindicating first areas of concentrated erosion within the test images asfirst test patches; receiving input from the user assigning the higherosion category to the first test patches; receiving input from theuser indicating second areas of non-erosion within the test images assecond test patches; and receiving input from the user assigning theerosion-free category to the second test patches.
 18. The method ofclaim 11 wherein reporting an alert upon determining that the sitecontamination is present comprises: sending an alert message viawireless signals while the aerial platform is airborne when the sitecontamination is present.
 19. The method of claim 11 wherein reportingan alert upon determining that the site contamination is presentcomprises: sending an alert message via wireless signals while theaerial platform is airborne that a high vegetation contamination ispresent at the geographic region such that a vegetation removal servicecan be directed to the location of the geographic region.
 20. A unmannedaerial inspection system, comprising: an Unmanned Aerial Vehicle (UAV);an imaging device on the UAV; and a platform controller on the UAVcomprising at least one processor and at least one memory that: navigatethe UAV to a location of a geographic region; capture a digital image ofthe geographic region with the imaging device while the UAV is airborne;and process the digital image while the UAV is airborne to: segment thedigital image into superpixels; select a region of interest from thedigital image to define one or more patches associated with thesuperpixels; assign terrain texture categories to the patches; assignthe terrain texture categories to the superpixels based on the terraintexture categories of the patches to generate a texture classifiedrepresentation of the digital image; determine whether a vegetationencroachment is present at the geographic region based on the textureclassified representation of the digital image; and send an alertmessage via wireless signals while the UAV is airborne to report whenthe vegetation encroachment is present.